package com.sg.dto.biz.bff.res;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @desc BffQueryQuestionDetailRespDto
 * @使用场景
 */
@Data
public class BffQueryQuestionDetailRespDto implements Serializable {

    /**
     * 问题ID
     */
    @ApiModelProperty("问题ID")
    private String questionId;

    /**
     * 问题编号
     */
    @ApiModelProperty("问题编号")
    private String questionNumber;

    /**
     * 问题文字简介
     */
    @ApiModelProperty("问题文字简介")
    private String questionIntroduce;

    /**
     * 问题文字描述
     */
    @ApiModelProperty("问题文字描述")
    private String questionDesc;

    /**
     * 问题等级 FATAL:致命 SERIOUS:严重 GENERAL:一般 TINY:微小
     */
    @ApiModelProperty("问题等级")
    private String questionLevel;

    /**
     * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
     */
    @ApiModelProperty("问题状态")
    private String questionStatus;

    /**
     * 状态备注
     */
    @ApiModelProperty("状态备注")
    private String remarks;

    /**
     * 是否私密 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否私密")
    private String isPrivate;

    /**
     * 是否超时 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否超时")
    private String isOvertime;

    /**
     * 问题已过时长
     */
    @ApiModelProperty("问题已过时长")
    private Double overTimeLength;

    /**
     * 实际解决时间
     */
    @ApiModelProperty("实际解决时间")
    private Date actualSolveTime;

    /**
     * 实际解决天数
     */
    @ApiModelProperty("实际解决天数")
    private Long actualSolveCycle;

    /**
     * 安排主体ID
     */
    @ApiModelProperty("安排主体ID")
    private String arrangeSubjectId;

    /**
     * 安排主体名称
     */
    @ApiModelProperty("安排主体名称")
    private String arrangeSubjectName;

    /**
     * 接收部门ID
     */
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 接收部门名称
     */
    @ApiModelProperty("接收部门名称")
    private String receiveSubjectName;

    /**
     * 来源名称
     */
    @ApiModelProperty("来源名称")
    private String sourceName;

    /**
     * 冗余来源类型编码
     */
    @ApiModelProperty("冗余来源类型编码")
    private String sourceTypeCode;

    /**
     * 归属对象类型编码 OMS_ORG_DEPT:部门表 OMS_FRAMEWORK_SPACE:空间表 OMS_PROJECT:项目表 OMS_TASK:任务表
     */
    @ApiModelProperty("归属对象类型编码")
    private String coordObjectTypeCode;

    /**
     * 归属对象ID
     */
    @ApiModelProperty("归属对象ID")
    private String coordObjectId;

    /**
     * 归属对象名称
     */
    @ApiModelProperty("归属对象名称")
    private String coordObjectName;

    /**
     * 相关人数量
     */
    @ApiModelProperty("相关人数量")
    private Long relevantPeopleNum;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 创建人就职记录ID
     */
    @ApiModelProperty("创建人就职记录ID")
    private String createInductionId;

    /**
     * 账号
     */
    @ApiModelProperty("账号")
    private String userId;

    /**
     * 真实头像
     */
    @ApiModelProperty("真实头像")
    private String userFace;

    /**
     * 真实姓名
     */
    @ApiModelProperty("真实姓名")
    private String idCardName;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    private String nickName;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("数据集文件地址全路径列表 ")
    List<String> dataListAllPathList = new ArrayList<>();

}
